<script lang="ts" setup>
// import { followOrUnFollowAPI } from '@/apis/consult';
import { useFollowOrUnFollow } from '@/composables/useFollowOrUnFollow';
import type { DoctorItem } from '@/types/consult'
// import { ref } from 'vue';
defineProps<{
    item: DoctorItem
}>()

// 定义loading 响应式数据
// const loading = ref(false)
// const onFollowOrUnFollow = async (item: DoctorItem) => {
//     loading.value = true
//     // 发送请求
//     try {
//         await followOrUnFollowAPI(item.id)
//         item.likeFlag = item.likeFlag === 1 ? 0 : 1
//     } finally {
//         loading.value = false
//     }
// }
const { loading, onFollowOrUnFollow } = useFollowOrUnFollow()
</script>
<template>
    <div class="doctor-card">
        <van-image round :src="item.avatar" />
        <p class="name">{{ item.name }}</p>
        <p class="van-ellipsis">{{ item.hospitalName }} {{ item.depName }}</p>
        <p>{{ item.positionalTitles }}</p>
        <van-button round size="small" type="primary" :loading="loading" @click="onFollowOrUnFollow(item)">{{
            item.likeFlag
                === 1 ? '已关注' : '未关注' }}</van-button>
    </div>
</template>
<style scoped lang="scss">
.doctor-card {
    width: 135px;
    height: 190px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 0px 11px 0px rgba(229, 229, 229, 0.2);
    text-align: center;
    padding: 15px;
    margin-left: 15px;
    display: inline-block;
    box-sizing: border-box;

    >.van-image {
        width: 58px;
        height: 58px;
        vertical-align: top;
        border-radius: 50%;
        margin: 0 auto 8px;
    }

    >p {
        margin-bottom: 0;
        font-size: 11px;
        color: var(--cp-tip);

        &.name {
            font-size: 13px;
            color: var(--cp-text1);
            margin-bottom: 5px;
        }
    }

    >.van-button {
        padding: 0 12px;
        height: 28px;
        margin-top: 8px;
        width: 72px;
    }
}
</style>